<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    // var rg = /abc/;  只要包含 abc 就可以
    // 字符类：[] 表示有一系列字符可供选择，只要匹配其中一个就可以了
    var rg = /[abc]/;  // 只要包含有 a 或者 包含有 b 或者包含有 c 都返回为 true
    console.log(rg.test('andy'));
    console.log(rg.test('body'));
    console.log(rg.test('color'));
    console.log(rg.test('red'));
    var reg = /^[abc]$/;  // 三选一 只有是a 或者是b 或者是c 这三个字母才返回 true
    console.log('--------------');
    console.log(reg.test('aa'));
    console.log(reg.test('a'));
    console.log(reg.test('b'));
    console.log(reg.test('c'));
    console.log(reg.test('abc'));
    console.log('--------------');
    var regexp = /^[a-z]$/;   // 26个英文字母任何一个字母返回 true  - 表示的是 a 到 z 的范围
    console.log(regexp.test('a'));
    console.log(regexp.test('z'));
    console.log(regexp.test(1));
    console.log(regexp.test('A'));
    // 字符组合
    var reg1 = /^[a-zA-Z0-9_-]$/;   // 26个英文字母（大写和小写都可以）任何一个字母返回 true
    console.log('--------------');
    console.log(reg1.test('a'));
    console.log(reg1.test('B'));
    console.log(reg1.test(8));
    console.log(reg1.test('-'));
    console.log(reg1.test('!'));
    // 如果中括号里面有 ^ 表示取反的意思，千万和我们 边界符 ^ 别混淆了
    var reg2 = /^[^a-zA-Z0-9_-]$/;
    console.log('--------------');
    console.log(reg2.test('a'));
    console.log(reg2.test('B'));
    console.log(reg2.test(8));
    console.log(reg2.test('-'));
    console.log(reg2.test('!'));
    </script>
</body>
</html>